from mcp.server.fastmcp import FastMCP
import math

mcp = FastMCP("Large Number LCM Calculator")

@mcp.tool()
def compute_lcm(a: int, b: int) -> int:
    """计算两个大整数的最小公倍数
    
    Args:
        a: 第一个整数
        b: 第二个整数
    
    Returns:
        两个数的最小公倍数
    
    Raises:
        ValueError: 输入包含0时抛出异常
    """
    if a == 0 or b == 0:
        raise ValueError("输入不能包含0")
    gcd = math.gcd(a, b)
    return abs(a * b) // gcd

if __name__ == "__main__":
    mcp.run(transport="stdio")